The present disclosure relates to a method of performing two-dimensional interleaving to secure a dispersion distance and a recording medium and apparatus for performing the same, and more particularly, to a method of performing two-dimensional interleaving in which pixels are spaced equidistantly to secure the dispersion distance when a two-dimensional burst error occurs in a communication system or information storage device that processes data in a two-dimensional manner.
Holographic data storage (HDS) is an optical storage device using hologram. Three key characteristics of HDS are a large scale, a high data input/output speed, and a short data access time. However, HDS has errors such as interference between adjacent symbols, interference between adjacent pages, deviation, and a two-dimensional burst error.
In order to address the two-dimensional burst error, several interleaving techniques such as a block interleaver, a cyclic shift interleaver, a helical interleaver, and a random interleaver have been proposed.
First, referring to FIG. 1, a block interleaver changes a data alignment direction from a transverse direction to a longitudinal direction and determines the transverse direction as a reading direction. This method is efficient when data is input or output in a line, but is useless when data is written or read in a two-dimensional manner.
Referring to FIG. 2, a cyclic shift interleaver may determine an amount of shift and then shift bits by the amount.
Referring to FIG. 3, first, a helical interleaver reads from data in a first row and a first column to data in a last row and a last column in a diagonal line. Next, the helical interleaver reads from data in a second row and the first column to the end in a diagonal line and then reads from data in a third row and the first column to the end in a diagonal line. In this method, upon arriving at the last row, the helical interleaver moves to a row containing unread data and repeats the above process until all the data is read. An equation is as follows:j=i(nx+1)mod(nxny), i={0, 1, 2, . . . , nxny−1}where i is an index of an original, j is a helical index, nx is the number of bits in an x-th row, and ny is the number of bits in a yth row.
A random interleaver generates a random number and exchanges an index corresponding to the random number and data. It will be appreciated that de-interleaving is possible only when it is known how data is changed in the interleaving.
However, since the conventional interleavers have been developed in consideration of a system in which data is input/output in a line, the interleavers have limitations in that they cannot evenly spread a two-dimensional burst error over the entire page.